fix(schedule): correct tall view rendering for reservations with hidden blocked periods#1146
Open
JohnVillalovos wants to merge 1 commit intodevelopfrom
Open
fix(schedule): correct tall view rendering for reservations with hidden blocked periods#1146JohnVillalovos wants to merge 1 commit intodevelopfrom
JohnVillalovos wants to merge 1 commit intodevelopfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes ScheduleTall (flipped) reservation rendering when blocked period rows are hidden by ensuring multi-slot reservations visually extend through the final reservable slot.
Changes:
- Adjust ScheduleTall reservation height calculation when the end cell is inferred via
findClosestEnd(). - Extend the existing single-slot
height === 0handling to also cover multi-slot height truncation when blocked periods are absent.
You can also share your feedback on Copilot code review. Take the survey.
b9883b2 to
e73d7f6
Compare
63c9c93 to
1be1407
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes rendering in the “ScheduleTall (flipped)” view when hide.blocked.periods = true causes the reservation end cell (typically the immediately-following blocked period) to be absent from the DOM, which previously made multi-slot reservations render one row too short.
Changes:
- Track when
findClosestEnd()was used (end cell missing) and extend Tall-view reservation height through the bottom of the final visible slot row. - Ensure the rendered reservation/buffer
data-endreflects the reservation’s actual end time when the end cell is approximate, improving conflict detection correctness.
1fe9051 to
e12a613
Compare
…en blocked periods When a reservation ends in a hidden blocked period, the exact end cell doesn't exist in the DOM and findClosestEnd() picks the nearest earlier slot. This caused two issues in ScheduleTall view: 1. The reservation div height was too short because it only reached the top of the last visible slot instead of extending through its bottom. 2. The div's data-start/data-end attributes used the approximate cell's data-min value instead of the reservation's actual timestamps, which could cause conflict detection to miss overlapping reservations. Fix by introducing an isEndApproximate flag to add the missing slot height, and by using res.StartDate/res.EndDate directly for data attributes on reservation and buffer divs. Closes: #920
e12a613 to
a423e06
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a reservation ends in a hidden blocked period, the exact end cell
doesn't exist in the DOM and findClosestEnd() picks the nearest earlier
slot. This caused two issues in ScheduleTall view:
The reservation div height was too short because it only reached the
top of the last visible slot instead of extending through its bottom.
The div's data-start/data-end attributes used the approximate cell's
data-min value instead of the reservation's actual timestamps, which
could cause conflict detection to miss overlapping reservations.
Fix by introducing an isEndApproximate flag to add the missing slot
height, and by using res.StartDate/res.EndDate directly for data
attributes on reservation and buffer divs.